package com.lightboat.common.enums;

import com.lightboat.common.exception.base.BaseException;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Objects;

/**
 * 角色枚举
 */
@AllArgsConstructor
@Getter
public enum RoleEnum {
    /**
     * 总经理
     */
    BOSS( "总经理", "boss"),

    /**
     * 超级管理员
     */
    ADMIN("超级管理员", "admin"),

    /**
     * 普通角色
     */
    COMMON("普通角色", "common"),

    /**
     * 销售人员
     */
    SALE_USER("销售人员", "saleUser"),
    /**
     * 销售经理
     */
    SALE_MANAGER("销售经理", "saleManager"),

    /**
     * 客服人员
     */
    CUSTOMER_SERVICE("客服人员", "customerService");


    private final String roleName;
    private final String roleCode;


    /**
     * 根据角色编号获取枚举值
     */
    public static RoleEnum getByCode(String roleCode) {
        for (RoleEnum role : values()) {
            if (Objects.equals(role.getRoleCode(), roleCode)) {
                return role;
            }
        }
        throw new BaseException("未知的角色编号: " + roleCode);
    }
}
